Global Navigation Satellite Systems (GNSSs) such as the Global Positioning System (GPS) are used in a wide range of application to provide accurate positioning data for a receiver located on or near the Earth's surface. The receiver receives navigation signals from a plurality of satellites and performs trilateration to determine its location coordinates. Specifically, each received signal includes information about the time at which the signal was transmitted. By measuring the time at which the signal is received, the distance travelled by the signal can be calculated.
Satellite navigation systems commonly include a plurality of services for use by different groups of users. For example, a high-accuracy service may be provided for use by authorised groups of users, such as the emergency services and the military, whilst a lower-accuracy service may be made available for public use by any person with a compatible receiver. High-accuracy services employ signal encryption to prevent unauthorised users from obtaining high-accuracy position fixes, whereas low-accuracy services are provided through unencrypted positioning signals that can be received and processed by any commercially available receiver. However, because the low-accuracy service is unencrypted, a receiver cannot verify whether the signals being received are coming from a trusted source. Therefore users of the low-accuracy service are particularly vulnerable to malicious activities such as spoofing, in which an attacker broadcasts a high-power GNSS-like signal with false timing information to fool the receiver into calculating an incorrect position, and meaconing, in which an attacker rebroadcasts authentic GNSS signals to obtain a similar effect. There is therefore a need for a method to allow a receiver to authenticate a received unencrypted signal, to determine whether the signal can be trusted.
The invention is made in this context.